package us.wili.dev.dao.mapper.base;

import java.util.List;
import org.apache.ibatis.annotations.Param;
import us.wili.dev.model.entity.User;
import us.wili.dev.model.example.UserExample;

public interface BaseUserMapper {
    int insert(User record);

    int batchInsert(List<User> records);

    int insertSelective(User record);

    int deleteByExample(UserExample example);

    int deleteByPrimaryKey(Long id);

    long countByExample(UserExample example);

    int updateByExampleSelective(@Param("record") User record, @Param("example") UserExample example);

    int updateByPrimaryKey(User record);

    int updateByPrimaryKeySelective(User record);

    User selectByPrimaryKey(@Param("id") Long id, @Param("columns") String... columns);

    User selectByPrimaryKeyForUpdate(@Param("id") Long id, @Param("columns") String... columns);

    User selectByPrimaryKeyInShareMode(@Param("id") Long id, @Param("columns") String... columns);

    List<User> selectByExample(UserExample example);

    User selectOneByExample(UserExample example);
}